home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib07.dsk
/
AIM FILE UTILITY.bas
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
106 lines
1 REM *******************************
2 REM ** AIM FILE UTILITY PROGRAM **
3 REM ** BY T.C. BRICKEY **
4 REM ** COPYRIGHT (C) 1981 BY **
5 REM ** MICRO-SPARC, INC. **
6 REM ** LINCOLN, MA 01773 **
7 REM *******************************
9 TEXT : HOME : VTAB 3: HTAB 17: PRINT "APPLE ]["
10 VTAB 5: HTAB 5: PRINT "** AIM FILE CONVERSION PROGRAM **"
15 VTAB 8: INPUT "NAME OF FILE TO CONVERT ? ";G$:H$ = G$ + CHR$(2)
20 VTAB 11: HTAB 6: PRINT "ORIGINAL IN SLOT # ? ";: GET S1$: PRINT S1$:S1 = VAL(S1$): IF S1 <1 OR S1 >7 THEN 20
25 VTAB 12: HTAB 17: PRINT "DRIVE # ? ";: GET D1$: PRINT D1$:D1 = VAL(D1$): IF D1 <1 OR D1 >2 THEN 25
30 VTAB 13: HTAB 5: PRINT "DUPLICATE IN SLOT # ? ";: GET S2$: PRINT S2$:S2 = VAL(S2$): IF S2 <1 OR S2 >7 THEN 30
35 VTAB 14: HTAB 17: PRINT "DRIVE # ? ";: GET D2$: PRINT D2$:D2 = VAL(D2$): IF D2 <1 OR D2 >2 THEN 35
40 VTAB 17: HTAB 4: PRINT "VERIFY CORRECT (Y/N) ? ";: GET V$: PRINT V$: IF V$ = "Y" THEN 100
45 IF V$ < >"Y" THEN 40
100 REM VARIABLES FOR NEW FILES
105 D$ = CHR$(4)
110 PRINT D$"OPEN ";H$;",S";S1;",D";D1
115 PRINT D$"READ ";H$
120 INPUT X1: INPUT X2
125 DIM M$(X1 +1),M(X1 +1),P$(X1 +1)
130 FOR J = 1 TO X1: INPUT M$(J): INPUT M(J)
135 NEXT
140 PRINT D$"CLOSE"
145 TEXT : HOME : VTAB 5: IF X1 = >12 THEN VTAB 2
150 PRINT "THERE ARE ";X1;" FIELDS IN THIS FILE": PRINT "THEIR NAMES/LENGTHS ARE:"
155 FOR J = 1 TO X1: VTAB 8 +J: IF X1 = >12 THEN VTAB 4 +J
160 HTAB 4: PRINT M$(J);
165 IF M(J) <100 AND M(J) = >10 THEN HTAB 20: GOTO 175
170 IF M(J) <10 THEN HTAB 21
175 PRINT M(J): NEXT
180 VTAB 23: FLASH : PRINT "ESC";: NORMAL : PRINT " TO CHANGE - ";: FLASH : PRINT "C/R";: NORMAL : PRINT " TO SELECT NEXT ITEM"
185 FOR J = 1 TO X1: VTAB 8 +J: IF X1 = >12 THEN VTAB 4 +J
190 HTAB 3: GET V$
195 IF V$ = CHR$(27) THEN INPUT M$(J): GOTO 210
200 IF V$ = CHR$(13) THEN 230
205 GOTO 190
210 VTAB 8 +J: HTAB 19: IF X1 = >12 THEN VTAB 4 +J
215 INPUT M(J)
220 IF J = X1 THEN 265
225 NEXT
230 VTAB 8 +J: HTAB 19: IF X1 = >12 THEN VTAB 4 +J
235 GET V$
240 IF V$ = CHR$(27) AND J = X1 THEN INPUT M(J): GOTO 265
245 IF V$ = CHR$(13) AND J = X1 THEN 265
250 IF V$ = CHR$(27) THEN INPUT M(J): NEXT
255 IF V$ = CHR$(13) THEN NEXT
260 GOTO 230
265 IF X1 = 16 THEN 300
270 HOME : VTAB 8: PRINT "DO YOU WISH TO ADD A FIELD Y/N: ";: GET V$: PRINT V$
275 IF V$ = CHR$(89) THEN 290
280 IF V$ = CHR$(78) THEN 300
285 GOTO 265
290 VTAB 10: HTAB 5: INPUT "FIELD NAME: ";M$(X1 +1)
295 VTAB 12: HTAB 9: INPUT "LENGTH: ";M(X1 +1)
300 REM SET-UP NEW FILE
305 TEXT : HOME : VTAB 10: HTAB 10: PRINT "[ WORKING ON FILES ]": PRINT : HTAB 10: PRINT "[ PLEASE STANDY-BY ]"
310 X3 = X1
315 IF V$ = "Y" THEN X3 = X1 +1
320 FOR J = 1 TO X3:T = T +M(J) +1: NEXT : PRINT
325 F$ = G$:I$ = H$: IF S1 = S2 AND D1 = D2 THEN F$ = "FILE XZXZXZ":I$ = F$ + CHR$(2)
330 PRINT D$"OPEN ";I$;",S";S2;",D";D2
335 PRINT D$"WRITE ";I$
340 PRINT X3: PRINT T
345 FOR J = 1 TO X3: PRINT M$(J): PRINT M(J): NEXT
350 PRINT D$"CLOSE"
500 REM READ DATA
505 X = 0
510 PRINT D$"OPEN";G$;",L";X2;",S";S1;",D";D1
515 PRINT D$"READ";G$;",R";X
520 INPUT HH
525 PRINT D$"CLOSE";G$
600 REM WRITE DATA FILE
605 PRINT D$"OPEN";F$;",L";T;",S";S2;",D";D2
610 PRINT D$"WRITE";F$;",R";X
615 PRINT HH
620 PRINT D$"CLOSE";F$
700 REM READ FILE INFO
705 X = 1
710 PRINT D$"OPEN";G$;",L";X2;",S";S1;",D";D1
715 PRINT D$"READ";G$;",R";X
720 FOR K = 1 TO X1
725 INPUT P$(K)
730 NEXT K
735 PRINT D$"CLOSE";G$
800 REM WRITE NEW FILE
805 PRINT D$"OPEN";F$;",L";T;",S";S2;",D";D2
810 PRINT D$"WRITE";F$;",R";X
815 FOR K = 1 TO X3
820 PRINT P$(K)
825 NEXT K
830 PRINT D$"CLOSE";F$
900 REM STEP X AND CHECK FOR END
905 X = X +1
910 IF X = (HH +1) THEN 1000
915 GOTO 710
1000 REM CHECK FILE NAMES
1005 IF F$ = G$ THEN 1040
1010 PRINT D$"UNLOCK ";H$
1015 PRINT D$"DELETE ";H$
1020 PRINT D$"DELETE ";G$
1025 PRINT D$"RENAME ";I$;",";H$
1030 PRINT D$"RENAME ";F$;",";G$
1035 PRINT D$"LOCK ";H$
1040 HOME : VTAB 10: HTAB 5: PRINT "NEW FILES ARE READY FOR USE": PRINT : PRINT "GOOD BYE.....": END